我开始了一个只有C++代码的Qt项目,此时一切正常。这是我的配置以及部署可执行文件所遵循的步骤:在Windows1064位、x64处理器、联想Thinkpad平板电脑上编程。使用Qt5.9框架和MinGW32bit编译器。(1)我首先构建项目并在我的构建目录的副本上启动windeployqt.exe。(2)然后,我将每个DLL和可执行文件放入一个Wix项目中,以制作一个MSI包。据我所知,此MSI安装程序的输出应该只是将文件复制到ProgramFiles目录,然后将正确的快捷方式添加到开始菜单和桌面.此时,一切正常。但几天后,QML代码被添加到项目中(因此一些OpenGL依赖插件)。我
我是新手,我正在编写一个头文件,在其中声明一个将发出信号的类。所以我用一个构造函数声明我的类,两个int变量,我将它们设为private,然后定义我的signal。这是我的.h文件:#ifndefKEYBOARD_H#defineKEYBOARD_HclassKeyBoard{public:KeyBoard();intkeyboard_update();private:intlevel;intsub_level;signals:voidsend_to_MBU(QStringmessage);};#endif现在在.cpp部分,我只是在构造函数中发出一个信号。这是.cpp部分中的代码:#
如何将Qt4小部件放置在Windows系统托盘的正上方。由于精确坐标可能取决于分辨率甚至任务栏的大小和位置(屏幕顶部或底部等)?我想可能有一种获取屏幕分辨率的方法,但是有没有什么方法可以获取任务栏的大小和位置? 最佳答案 不,没有。您可以使用QDesktopWidget获取屏幕大小-这将为您提供屏幕数量、屏幕大小等。但是,找到任务栏的位置,然后系统托盘是特定于平台的.你为什么要这样做?您是否正在尝试模拟QSystemTrayIcon?也许如果您告诉我们您正在尝试做什么,我们也许可以帮助您。
我正在尝试使用Qt播放背景音乐和音效。但是,我一次只能播放一种声音。例如:QSound::play("Music.wav");QSound::play("Effect.wav");当此代码运行时(在Windows上),您可以听到Music.wav刚刚开始播放,但随后停止并播放Effect.wav。有没有办法让这两种声音同时播放? 最佳答案 您正在使用静态方法。为每个对象实例化一个QSound对象:QSoundmusic("Music.wav");QSoundeffect("Effect.wav");music.play();effe
我在3个平台上使用QTCreator来创建独立于平台的软件。但是,我在Windows中遇到完全相同代码的段错误。这听起来还不错,因为我可以使用调试器。除了,无论我设置了多少个断点或设置它们的位置,它们都会被调试器忽略。我100%确定我的控制流正在通过断点但没有中断流。有什么想法吗?怎么会这样? 最佳答案 呸!我在Qt中使用Cmake,但未能设置CMAKE_BUILD_TYPE变量。就是这样! 关于windows-QtCreator调试,我们在StackOverflow上找到一个类似的问题
我已经编写了一个开源程序,该程序已作为GPL使用Qt4LGPLSDK构建发布。该程序能够在可选的Sqlite3数据库中搜索数据。这就是让我失去理智的原因。我在开发机器上编译程序。当我尝试运行它时,我会出现有关缺少DLL的错误。我将这些dll复制到与可执行文件相同的目录中,它现在可以正常工作(mingwm10.dll、libgcc_s_dw2-1.dll、QtCore4.dll、QtSql4.dll、QtGui4.dll),包括数据库搜索。现在,如果我将带有可执行文件和DLL的文件夹复制到一台没有安装SDK的新机器上,它运行良好,直到我尝试搜索。我一点击搜索按钮,就会出现以下错误:Tit
我正在做一个简单的服务器-客户端应用程序。但是,客户端从服务器端获得了一些未定义的行为。找回错误码后,才知道是服务器断开了连接。这是服务端main.cpp#include#include#include#include#include#includeclassMyMessageBox:publicQMessageBox{public:MyMessageBox(std::stringmessage,QWidget*parent=0):QMessageBox(QMessageBox::NoIcon,QString("ErrorMessage"),QString(message.c_str(
有没有人知道如何从远程主机的Windows注册表中读取值(假设我有足够的权限)。我的意思是软件/我自己编写的代码。我的工具需要这个,例如获取该机器上已安装软件的列表。在C、C++甚至Qt中这可能吗?我必须使用一些MSDN命令吗?请查看下面的新问题;32位64位问题。 最佳答案 看看RegConnectRegistryMSDN中的函数。这允许您打开远程注册表项的句柄,然后使用标准注册表API与其交互。 关于C++/Qt:howtoaccesswindowsregistryremotely?
我使用QSqlTableModel作为数据源并使用QTableView来显示数据。我还使用QDataWidgetMapper以单独的形式编辑数据。我想要做的就是将日期/时间字符串从数据库中的一种格式(2011-07-09T18:21:49)转换为另一种格式以显示在表中(18:21)以及另一种格式编辑映射(09.07.201118:21:49)我认为ItemDelegate是正确的方式,但我不想更改绘画等......我该如何正确地做? 最佳答案 好的,我认为这可能是正确的方法(中间数据模型),但现在我使用了QItemDelegate。
我在尝试在Windows下编译Qt程序时遇到了一些麻烦。我在一台工作机器上,所以我试图对我正在安装/设置的东西保持警惕,因为我得到了一个最初要遵循的程序来让它工作(那没有用),所以请保持那种想法。我的开发环境通常是Windows7上的VisualStudio。为了安装Qt,我将一些文件解压缩到C:/Qt并设置我的环境变量来反射(reflect)它。我在VisualStudio中编写了一个简短的示例文件,并且能够对其进行编译;然而,一旦我开始在项目中使用多个文件,事情就变得棘手了。例如:尝试1-只有1个.cpp文件;运行“qmake-tpvcprojectname.pro”然后返回到Vi